package demo;

import java.util.ArrayList;
import java.util.Scanner;

public class ArrayListtest2 {
    public static void main(String[] args) {
        //创建一个学生实体类 放入集合中  然后让用户输入id查询学生 根据id查询学生
        ArrayList<student> students=new ArrayList<>();
        students.add(new student("1","张三","男","大一"));
        students.add(new student("2","李四","女","大二"));
        students.add(new student("3","王五","男","大三"));
        students.add(new student("4","老刘","女","大四"));
       //来一个查询学生信息的初始界面
        System.out.println("编号\t\t姓名\t\t性别\t\t班级\t\t");
        //遍历集合
        for (int i = 0; i < students.size(); i++) {
            student student = students.get(i);
            //然后输出在屏幕上
            System.out.println(student.getSutdyId()+"\t\t"+student.getName()+"\t\t"+student.getSex()+"\t\t"+student.getClassmate());

        }
        //用户输入id查询集合中的学生对象
        Scanner sc=new Scanner(System.in);
        System.out.println("请你输入要查询的学生id：");
        String id=sc.next();
        //拿一个student类型的stu来接收方法返回的对象 接收他
        student stu= getStudentbyId(students, id);
        //还要做个判断如果集合中一直没有要查询的学生id则返回null
        if(stu == null){
            System.out.println("没有这个学生");
        }else {
            //这输出的是集合中的地址
            System.out.println(stu.getSutdyId()+"\t\t"+stu.getName()+"\t\t"+stu.getSex()+"\t\t"+stu.getClassmate());
        }

    }
    //写一个方法处理根据用户输入的id查询到学生对象
    public static student getStudentbyId(ArrayList<student> students,String id){
        //根据用户输入的id匹配集合中的id 取出集合中的对象
        for (int i = 0; i < students.size(); i++) {
            student student = students.get(i);
            //如果用户输入的Id和我集合中的id一直则返回学生对象
            if(student.getSutdyId().equals(id)){
                return student;
            }

        }
        return null;

    }
}
